Skip to main content

Español

Instalar paquetes de R

Instalar paquetes sin internet

Es posible instalar paquetes de R sin acceso a internet descargando el código fuente del paquete comprimido en tar.gz, copiándolo a la máquina con scp/otros métodos, y ejecutando (habiendo cargado previamente un módulo de R):

$> R CMD INSTALL {paquete}.tar.gz

Requisitos para instalar paquetes

Requisitos para instalar paquetes en red (debe tener acceso a Internet)

  • Conectarse a un login4 en MareNostrum5:

    mylaptop$> ssh {username}@glogin4.bsc.es
    mylaptop$> ssh {username}@alogin4.bsc.es
    IMPORTANTE

    Los login4 de MareNostrum5 están restringidos al personal del BSC y sólo son accesibles desde la red interna del BSC o la Red Privada Virtual (VPN).

  • Comprobar la conectividad a Internet desde glogin4/alogin4:

    $> wget --tries=3 --timeout=5 -q --spider google.com && echo "Networked" || echo "Non-networked"
    Networked

Instalar y gestionar paquetes

Instalar paquetes

CRAN
  • Instalar un paquete desde CRAN:

    $> install.packages("SomePackage")
  • Instalar varios paquetes a la vez:

    $> install.packages(c("A", "B", "C", "D"))

Actualizar paquetes

CRAN

  • Actualizar uno o varios paquetes específicos:

    $> update.packages(oldPkgs = c("A", "B"))
  • Actualizar todos los paquetes:

    $> update.packages()
  • Bioconductor

    $> BiocManager::install()

Eliminar paquetes

  • Eliminar un paquete:

    $> remove.packages("SomePackage")

Trabajar con entornos

Es posible instalar paquetes fuera del stack principal de R, lo que permite instalaciones sin privilegios:

  • Crea un archivo llamado ~/.Renviron que contenga la siguiente línea:

    R_LIBS=/path/a/mi/proyecto/local/de/R
  • Instala el paquete deseado:

    R> install.packages("nombre_paquete")

Esto debería imprimir un mensaje similar a:

Installing package into '/path/a/mi/proyecto/local/de/R'
(as 'lib' is unspecified)
  • Posteriormente, puedes cargar el paquete como de costumbre:

    R> library(nombre_paquete)

El directorio especificado por la variable R_LIBS puede estar en cualquier lugar, por lo que es posible compartir paquetes entre miembros del grupo si se encuentra, por ejemplo, en un directorio bajo /gpfs/projects.

Soporte para múltiples versiones

  • Versiones específicas de un paquete se pueden instalar usando la función devtools::install_version():

    devtools::install_version("package_name", version = "1.2.3")

Usando este método, puedes instalar y usar múltiples versiones del mismo paquete, lo cual es útil en casos como necesitar una versión anterior de un paquete ya instalado. Los paquetes instalados en el directorio definido por R_LIBS tienen prioridad al cargar paquetes con múltiples versiones, pero se pueden especificar versiones de la siguiente manera:

R> library(nombre_paquete, lib.loc="/path/a/mi/proyecto/local/de/R")

Por ejemplo, el directorio que contiene los paquetes instalados bajo la versión predeterminada de R en la partición GPP de Marenostrum5 es:

R> library(nombre_paquete, lib.loc="/apps/GPP/R/4.3.2/INTEL/lib64/R/library")

Finalmente, si necesitas múltiples versiones de R, puedes compiar una versión en uno de tus directorios, o usar conda para una instalación más sencilla.